﻿using System;
using System.Collections.Generic;
using System.Text;

namespace GeoFly
{
    public abstract class SRBase
    {
        /// <summary>
        /// the solar declination value for a given day in a given year
        /// </summary>
        /// <returns></returns>
        public abstract double SolarDeclination()
        ;
        
        
        /// <summary>
        /// the distance between earth and sun per astronomical unit(AU)
        /// </summary>
        /// <returns></returns>
        public abstract double EarthSunDist()
        ;
        
        /// <summary>
        /// the time sun is up,the time interval is between sunrise to solar noon
        /// </summary>
        /// <returns></returns>
        public abstract double SunRiseTime()
        ;
        /// <summary>
        /// the time sun is down,the time interval is between solar noon to sunset
        /// </summary>
        /// <returns></returns>
        public abstract double SunSetTime()
        ;
    /// <summary>
    /// the total daylength at latitudes between 66.5 and -66.5
    /// </summary>
    /// <returns></returns>
        public abstract double DayLength();
        /// <summary>
        /// the height between the sun and a horizontal surface on the earth's surface
        /// </summary>
        /// <returns></returns>
        public abstract double SunHeight();
	/// <summary>
	/// the extraterrestrial radiation in given conditions
	/// </summary>
	/// <returns></returns>
        public abstract double ExtraTerrRad();
	
    public int iYear;			
	public int iDn;			
	public double dSd;			
	public double dLat;		
	public double dSHour;		
    }
}
